草庐IT

CocoaPods 私有化

全部标签

ruby-on-rails - Ruby 中的私有(private)方法

定义私有(private)方法的RailsController示例:classApplicationController然后,它被用于ApplicationController的子类中:classCustomerController怎么可能从其子类中调用私有(private)方法?Ruby中的private是什么意思? 最佳答案 不能使用显式接收器调用私有(private)方法。但是它们可以被该类的任何子类和实例调用。Here很好地解释了Ruby中的public、protected和private方法。

ruby - Ruby 中的私有(private)/ protected block ?

Ruby似乎没有像这样定义protected/私有(private)block的工具:protecteddodefmethodendend与相比,这会更好protecteddefmethodendpublic您可能会忘记在protected方法之后“公开”的地方。似乎可以使用元编程来实现这一点。有什么想法吗? 最佳答案 由于您想按功能分组,您可以声明所有方法,然后使用protected后跟要保护的方法的符号来声明哪些方法是protected和私有(private)的,对于私有(private)方法也是如此。下面的类(class)说明

ruby - 如何在命令行上切换 cocoapods(或其他 gem)版本?

有一些答案说使用gem'cocoapods','0.33.1'或gem'pod','0.33.1但这行不通。错误:执行gem时...(Gem::CommandLineError)未知命令cocoapods,在一个项目中我需要使用0.33.1,但在另一个项目中需要使用0.34.4。如何在命令行快速切换cocoapods版本?我不想使用gem安装或卸载。我将rbenv与ruby​​版本2.0.0p0一起使用。继续使用rbenv是首选,但只有在没有其他选择的情况下,我才能切换到rvm或纯ruby​​。谢谢。 最佳答案 您可以执行以下操作以

ruby-on-rails - RSpec:如何测试从 Controller 调用私有(private)辅助方法的辅助方法?

这是我所拥有的:从中调用Controller辅助方法(私有(private))的应用程序辅助方法。代码:应用程序助手:defordenar(coluna,titulo=nil)titulo||=coluna.titleizecss_class=(coluna==**coluna_ordenacao**)?"#{**direcao_ordenacao**}":"ordenavel"direcao=(coluna==**coluna_ordenacao**and**direcao_ordenacao**=="asc")?:desc::asclink_totitulo,{:sort=>col

ruby - 如何找到私有(private)单例方法

我已经定义了一个模块Vehicle这样的moduleVehicleclass调用Vehicle.singleton_methods返回[:build]。如何检查Vehicle定义的所有私有(private)单例方法? 最佳答案 在Ruby1.9+中,您可以简单地执行以下操作:Vehicle.singleton_class.private_instance_methods(false)#=>[:background]在Ruby1.8中,事情有点复杂。Vehicle.private_methods#=>[:background,:inc

ruby - 为什么 ruby​​ 允许子类访问父类的私有(private)方法?

classMaindefsay_helloputs"Hello"endprivatedefsay_hiputs"hi"endendclassSubMain输出:hiTesting 最佳答案 区别在于在ruby中你可以隐式调用子类中的私有(private)方法而不是显式调用。Protected可以双向调用。至于为什么?我猜你得问问Matz。例子:classTestMainprotecteddefsay_holaputs"hola"enddefsay_ni_haoputs"nihao"endprivatedefsay_hiputs"hi

ruby - 子类中是否可以访问 Ruby 私有(private)方法?

我有如下代码:classAprivatedefp_methodputs"I'maprivatemethodfromA"endendclassBError:Privatemethodcannotbecalledb.some_method#=>I'maprivatemethodfromAb.some_method调用类A中定义的私有(private)方法。如何在继承它的类中访问私有(private)方法?这种行为在所有面向对象的编程语言中都一样吗?Ruby是如何进行封装的? 最佳答案 这是来自thissource的简要说明:Public

ruby - 更新到 cocoapods 0.32.1 后无法运行 sudo pod install,错误为 "You cannot run CocoaPods as root. (CLAide::Help)"

我在更新到最新版本0.32.1后运行sudopodinstall命令时发现了一个问题。早些时候它工作得很好。当我尝试使用旧的cocoapods安装pod时,它要求我更新到最新的cocoapods版本,即0.32.1。在我通过cocoapodsgem更新后,我无法在我的Xcode项目中执行sudopodinstall。它给了我以下错误。±sudopodinstallruby-1.9.3-p0Password:/Users/username/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/gems/1.9.1/gems/claide-0.5.0/lib/claide/

Ruby:使用 self 关键字从内部调用私有(private)方法

classMyClassdeftestputsmy_idputsself.my_idendprivatedefmy_id115endendm=MyClass.newm.test此脚本产生输出:115priv.rb:4:in`test':privatemethod`my_id'calledfor#(NoMethodError)frompriv.rb:15:in`'使用self关键字和不使用关键字从内部调用方法有什么区别?根据我的Delphi和C#经验:没有区别,self可以用来避免与局部变量的名称冲突,表示我想调用实例函数或引用实例变量. 最佳答案

ruby - 安装 CocoaPods 的问题

我正在尝试在OSX中设置CocoaPods(我正在运行10.8.2)-所以我运行sudogeminstallcocoapods它成功了,我得到-'Successfullyinstalledcocoapods-0.17.2安装了1个gem'然后...我尝试podsetup'-bash:pod:commandnotfound'如何让命令行识别此命令? 最佳答案 退出并重新启动终端为我修复了它。实际上,我刚刚在终端中打开了一个新选项卡。 关于ruby-安装CocoaPods的问题,我们在Sta